package com.zxj.api.domain.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

/**
 * 评委提交 DTO
 *
 * @author zxj2022
 * @date 2025/01/12
 */
@Data
@Schema(name = "JudgeSubmitDTO", description = "判题提交 DTO")
public class JudgeSubmitDTO {

    /** 用户 ID */
    @Schema(name = "userId", description = "用户 ID")
    private Long userId;

    /** 竞赛 ID */
    @Schema(name = "contestId", description = "竞赛 ID")
    private Long examId;

    /** 编程语言类型（0 java 1 C++） */
    @Schema(name = "programType", description = "编程语言类型（0 java 1 C++）")
    private Integer programType;

    /** 问题 ID */
    @Schema(name = "questionId", description = "问题 ID")
    private Long questionId;

    /** 题目难度 */
    @Schema(name = "difficulty", description = "题目难度")
    private Integer difficulty;

    /** 时间限制 ms */
    @Schema(name = "timeLimit", description = "时间限制 ms")
    private Long timeLimit;

    /** 空间限制 kb */
    @Schema(name = "spaceLimit", description = "空间限制 kb")
    private Long spaceLimit;

    /** 拼装完整的用户代码  用户提交的代码 + main函数 */
    @Schema(name = "userCode", description = "拼装完整的用户代码  用户提交的代码 + main函数")
    private String userCode;

    /** 输入数据列表 */
    @Schema(name = "inputList", description = "输入数据列表")
    private List<String> inputList;

    /** 期望输出数据列表 */
    @Schema(name = "outputList", description = "期望输出数据列表")
    private List<String> outputList;
}
